package com.coincalf.dto;

import com.coincalf.framework.enums.MergeDepthDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description:
 * @Author: Chen Long
 * @Date: Created in 2018/5/14 上午10:12
 * @Modified by: Chen Long
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class TradeMarketDTO implements Comparable<TradeMarketDTO> {

    /**
     * 交易对
     */
    private String symbol;

    /**
     * 市场名称
     */
    private String name;

    /**
     * 图片
     */
    private String image;

    /**
     * 买入手续费
     */
    private BigDecimal buyFeeRate;

    /**
     * 卖出手续费
     */
    private BigDecimal sellFeeRate;

    /**
     * 价格小数位数
     */
    private int priceScale;

    /**
     * 数量小数位数
     */
    private int numScale;

    /**
     * 最小委托数量
     */
    private BigDecimal numMin;

    /**
     * 最大小数位数
     */
    private BigDecimal numMax;

    /**
     * 最小成交额
     */
    private BigDecimal tradeMin;

    /**
     * 最大成交额
     */
    private BigDecimal tradeMax;

    /**
     * 当前价
     */
    private BigDecimal price;

    /**
     * 价格单位
     */
    private String priceUnit;

    /**
     * 当前价（人民币）
     */
    private BigDecimal cnyPrice;

    /**
     * 报价货币人民币价格
     */
    private BigDecimal coinCnyPrice;

    /**
     * 合并深度
     */
    private List<MergeDepthDTO> mergeDepth;

    /**
     * 最高价
     */
    private BigDecimal high;

    /**
     * 最低价
     */
    private BigDecimal low;

    /**
     * 日总交易量
     */
    private BigDecimal volume;

    /**
     * 日总成交额
     */
    private BigDecimal amount;

    /**
     * 涨幅
     */
    private double change;

    /**
     * 排序
     */
    private int sort;

    private String increase;
    private String priceUsdt;

    @Override
    public int compareTo(TradeMarketDTO object) {
        if (this.sort >= object.getSort()) {
            return 1;
        } else {
            return -1;
        }
    }
}
